﻿using CommonType;
using MediatR;
using S_Incident.Domains.WorkflowEngine;
using SqlSugar;

namespace S_Incident.API.Application.Commands
{
    public class EventDispositionSqlSuageCreateCommand: IRequest<ApiResule<int>>
    {
        /// <summary>
        /// 事件来源
        /// </summary>
        [SugarColumn(ColumnDescription = "事件来源", Length = 200, IsNullable = true)]
        public string? EventSource { get; set; }
        /// <summary>
        /// 上报人
        /// </summary>
        [SugarColumn(ColumnDescription = "上报人", Length = 200, IsNullable = true)]
        public string? Informant { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        [SugarColumn(ColumnDescription = "联系电话", Length = 200, IsNullable = true)]
        public string? Phone { get; set; }
        /// <summary>
        /// 上报时间
        /// </summary>
        [SugarColumn(IsNullable = true)]
        public DateTime? ReportingTime { get; set; } = DateTime.Now;
        /// <summary>
        /// 事件描述
        /// </summary>
        [SugarColumn(ColumnDescription = "事件描述", Length = 200, IsNullable = true)]
        public string? IncidentDescription { get; set; }
        /// <summary>
        /// 事件级别
        /// </summary>
        public int EventLevel { get; set; }
        /// <summary>
        /// 位置描述
        /// </summary>
        [SugarColumn(ColumnDescription = "位置描述", Length = 200, IsNullable = true)]
        public string? LocationDescription { get; set; }
        /// <summary>
        /// 是否在图内
        /// </summary>
        public int Map { get; set; }
        /// <summary>
        /// 事件类型
        /// </summary>
        [SugarColumn(ColumnDescription = "事件类型", Length = 200, IsNullable = true)]
        public string? EventType { get; set; }
        /// <summary>
        /// 事件座标
        /// </summary>
        [SugarColumn(ColumnDescription = "事件座标", Length = 500, IsNullable = true)]
        public string? EventCoordinate { get; set; }
        /// <summary>
        /// 行业类型
        /// </summary>
        [SugarColumn(ColumnDataType = "INT", IsNullable = false)]
        public Industry IndustryType { get; set; }
        /// <summary>
        /// 所属网格
        /// </summary>
        [SugarColumn(ColumnDescription = "所属网格", Length = 200, IsNullable = true)]
        public string? OwningGrid { get; set; }
        /// <summary>
        /// 选择大类
        /// </summary>
        [SugarColumn(ColumnDescription = "选择大类", Length = 250, IsNullable = true)]
        public string? SelectiveCategory { get; set; }
        /// <summary>
        /// 选择小类
        /// </summary>
        public int selectiveSubclass { get; set; }
        /// <summary>
        /// 上传附件
        /// </summary>
        [SugarColumn(ColumnDescription = "上传附件", Length = 500, IsNullable = true)]
        public string? UploadAttachments { get; set; }
        /// <summary>
        /// 当前节点
        /// </summary>
        public int NodeId { get; set; }
        /// <summary>
        /// 流转意见
        /// </summary>
        public string? CirculatingOpinions { get; set; }
    }
}
